package com.suncaper.han_yi_system.pojo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;
import java.util.Date;

/**
 * 用户实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class User {

    /**
     * 用户id
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 用户名（唯一）
     */
    private String username;

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 密码（建议存储加密后的哈希值）
     */
    private String password;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 状态（如：0:禁用, 1:启用, 2:锁定等）
     */
    private Byte status;

    /**
     * 逻辑删除 (0:未删除, 1:已删除)
     */
    @TableLogic
    private Byte isDeleted;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;
}
